#define _CRT_SECURE_NO_WARNINGS 1

//1.
//#include <iostream>
//#include <vector>
//using namespace std;
//class Solution {
//public:
//    int search(vector<int>& nums, int target) {
//
//        int k = 0;
//        int i = 0;
//        for (i = 1; i < nums.size(); i++)
//        {
//            if (nums[i - 1] > nums[i])
//            {
//                k = i;
//                break;
//            }
//        }
//
//        int left1 = 0, right1 = k;
//        int mid1 = left1 + (right1 - left1) / 2;
//        int left2 = k, right2 = nums.size() - 1;
//        int mid2 = left2 + (right2 - left2) / 2;
//        if (target > nums[nums.size() - 1] && left1 <= right1)
//        {
//            while (left1 <= right1)
//            {
//                mid1 = left1 + (right1 - left1) / 2;
//                if (target < nums[mid1])
//                {
//                    right1 = mid1 - 1;
//                }
//                else if (target > nums[mid1])
//                {
//                    left1 = mid1 + 1;
//                }
//                else if (target == nums[mid1])
//                    return mid1;
//            }
//        }
//        else if (target == nums[nums.size() - 1])
//        {
//            return nums.size() - 1;
//        }
//        else if (target < nums[nums.size() - 1] && left2 <= right2)
//        {
//            while (left2 <= right2)
//            {
//                mid2 = left2 + (right2 - left2) / 2;
//                if (target < nums[mid2])
//                {
//                    right2 = mid2 - 1;
//                }
//                else if (target > nums[mid2])
//                {
//                    left2 = mid2 + 1;
//                }
//                else if (target == nums[mid2])
//                    return mid2;
//            }
//        }
//        return -1;
//    }
//};
//int main()
//{
//    vector<int> v1;
//    v1.push_back(1);
//    v1.push_back(3);
//
//    int pos = Solution().search(v1, 0);
//    cout << pos;
//    return 0;
//}



//2.
//class Solution {
//public:
//    int getDecimalValue(ListNode* head) {
//        vector<int> v1;
//        ListNode* cur = head;
//        while (head != nullptr)
//        {
//            v1.push_back(head->val);
//            head = head->next;
//        }
//        int i = 0;
//        int j = v1.size() - 1;
//        int ret = 0;
//        for (i = 0; i < v1.size(); i++)
//        {
//            if (v1[i] == 1)
//                ret += (int)pow(2, j);
//
//            j--;
//        }
//        return ret;
//    }
//};
//






//#include <iostream>
//using namespace std;
//int main()
//{
//	int arr[10] = { 0 };
//	int len = &arr[3] - &arr[0];
//	cout << len;
//	return 0;
//}